<template>
  <aside>
    <el-menu
      active-text-color="#ffd04b"
      background-color="#545c64"
      class="el-menu-vertical-demo"
      :default-active="route.path"
      text-color="#fff"
      @open="handleOpen"
      @close="handleClose"
    >
      
      <el-menu-item v-for="menu in menus" :key="menu.path" :index="menu.path" @click="menuClick(menu)">
        <el-icon><icon-menu /></el-icon>
        <span>{{ menu.menu }}</span>
      </el-menu-item>


	  <el-sub-menu index="1">
        <template #title>
          <el-icon><location /></el-icon>
          <span>Navigator One</span>
        </template>
        <el-menu-item-group title="Group One">
          <el-menu-item index="1-1">item one</el-menu-item>
          <el-menu-item index="1-2">item two</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="Group Two">
          <el-menu-item index="1-3">item three</el-menu-item>
        </el-menu-item-group>
        <el-sub-menu index="1-4">
          <template #title>item four</template>
          <el-menu-item index="1-4-1">item one</el-menu-item>
        </el-sub-menu>
      </el-sub-menu>
      <el-menu-item index="4">
        <el-icon><setting /></el-icon>
        <span>Navigator Four</span>
      </el-menu-item>
    </el-menu>
  </aside>
</template>

<script setup>
import { ref, reactive, onMounted } from "vue";
import {useRouter, useRoute} from 'vue-router';
import { useMenusStore } from "@/stores/menus";
import { useUserStore } from "@/stores/user";
import {
  Document,
  Menu as IconMenu,
  Location,
  Setting,
} from "@element-plus/icons-vue";
import { storeToRefs } from "pinia";

const userStore = useUserStore()
const menusStore = useMenusStore()
const {menus} = storeToRefs(menusStore)

const router = useRouter()
const route = useRoute()

const menuClick = menu => {
  router.push(menu.path)
}

const handleOpen = (key, keyPath) => {
  // console.log("menu----handleOpen", key, keyPath);
};
const handleClose = (key, keyPath) => {
  // console.log("menu----handleClose", key, keyPath);
};
</script>

<style lang="less" scoped>
aside {
  width: 260px;
  background-color: #f1e8e8;
  .el-menu {
    height: 100%;
  }
}
</style>
